#include "TestMiRegistroFijo.h"

#include "includes.h"
#include "pruebasOficiales1/ExtractorClaveRegFijos.h"
#include "pruebasOficiales1/MiRegistroFijo.h"

TestMiRegistroFijo::TestMiRegistroFijo() {

}

TestMiRegistroFijo::~TestMiRegistroFijo() {

}

void TestMiRegistroFijo::run() {

	MiRegistroFijo registro(1,'c',4);

	MiRegistroFijo registro2(registro.serializarse());

	assert(registro2.getMiCharID() == 'c', "Probando hidratar");
	assert(registro2.getMiIntID() == 1, "Probando hidratar");
	assert(registro2.getMiInt() == 4, "Probando hidratar");

	Key clave(new ClaveInt(1));
	Key clave2(new ClaveInt(3));

	assert(clave2 > clave, "Probando comparar claves");

	ClaveInt* datoClave = new ClaveInt(clave.serializarse());
	Key clave3(datoClave);

	assert (clave == clave3, "Probando serializar claves");

	ExtractorClaveRegFijos extractor;

	Key clave4(extractor.crearClave(extractor.extraerClave(registro.serializarse())));

	assert(clave == clave4, "Probando extractor");

}
